struct spa {
	char spa_name[256];
	char *spa_comment;
	avl_node_t spa_avl;
	nvlist_t *spa_config;
	nvlist_t *spa_config_syncing;
	nvlist_t *spa_config_splitting;
	nvlist_t *spa_load_info;
	uint64_t spa_config_txg;
	int spa_sync_pass;
	pool_state_t spa_state;
	int spa_inject_ref;
	uint8_t spa_sync_on;
	spa_load_state_t spa_load_state;
	boolean_t spa_indirect_vdevs_loaded;
	boolean_t spa_trust_config;
	spa_config_source_t spa_config_source;
	uint64_t spa_import_flags;
	spa_taskqs_t spa_zio_taskq[7][4];
	dsl_pool_t *spa_dsl_pool;
	boolean_t spa_is_initializing;
	boolean_t spa_is_exporting;
	metaslab_class_t *spa_normal_class;
	metaslab_class_t *spa_log_class;
	int spa_log_devices;
	metaslab_class_t *spa_special_class;
	metaslab_class_t *spa_dedup_class;
	uint64_t spa_first_txg;
	uint64_t spa_final_txg;
	uint64_t spa_freeze_txg;
	uint64_t spa_load_max_txg;
	uint64_t spa_claim_max_txg;
	inode_timespec_t spa_loaded_ts;
	objset_t *spa_meta_objset;
	kmutex_t spa_evicting_os_lock;
	list_t spa_evicting_os_list;
	kcondvar_t spa_evicting_os_cv;
	txg_list_t spa_vdev_txg_list;
	vdev_t *spa_root_vdev;
	int spa_min_ashift;
	int spa_max_ashift;
	uint64_t spa_config_guid;
	uint64_t spa_load_guid;
	uint64_t spa_last_synced_guid;
	list_t spa_config_dirty_list;
	list_t spa_state_dirty_list;
	kmutex_t *spa_alloc_locks;
	avl_tree_t *spa_alloc_trees;
	int spa_alloc_count;
	spa_aux_vdev_t spa_spares;
	spa_aux_vdev_t spa_l2cache;
	nvlist_t *spa_label_features;
	uint64_t spa_config_object;
	uint64_t spa_config_generation;
	uint64_t spa_syncing_txg;
	bpobj_t spa_deferred_bpobj;
	bplist_t spa_free_bplist[4];
	zio_cksum_salt_t spa_cksum_salt;
	kmutex_t spa_cksum_tmpls_lock;
	void *spa_cksum_tmpls[14];
	uberblock_t spa_ubsync;
	uberblock_t spa_uberblock;
	boolean_t spa_extreme_rewind;
	kmutex_t spa_scrub_lock;
	uint64_t spa_scrub_inflight;
	uint64_t spa_load_verify_bytes;
	kcondvar_t spa_scrub_io_cv;
	uint8_t spa_scrub_active;
	uint8_t spa_scrub_type;
	uint8_t spa_scrub_finished;
	uint8_t spa_scrub_started;
	uint8_t spa_scrub_reopen;
	uint64_t spa_scan_pass_start;
	uint64_t spa_scan_pass_scrub_pause;
	uint64_t spa_scan_pass_scrub_spent_paused;
	uint64_t spa_scan_pass_exam;
	uint64_t spa_scan_pass_issued;
	boolean_t spa_resilver_deferred;
	kmutex_t spa_async_lock;
	kthread_t *spa_async_thread;
	int spa_async_suspended;
	kcondvar_t spa_async_cv;
	uint16_t spa_async_tasks;
	uint64_t spa_missing_tvds;
	uint64_t spa_missing_tvds_allowed;
	spa_removing_phys_t spa_removing_phys;
	spa_vdev_removal_t *spa_vdev_removal;
	spa_condensing_indirect_phys_t spa_condensing_indirect_phys;
	spa_condensing_indirect_t *spa_condensing_indirect;
	zthr_t *spa_condense_zthr;
	uint64_t spa_checkpoint_txg;
	spa_checkpoint_info_t spa_checkpoint_info;
	zthr_t *spa_checkpoint_discard_zthr;
	space_map_t *spa_syncing_log_sm;
	avl_tree_t spa_sm_logs_by_txg;
	kmutex_t spa_flushed_ms_lock;
	avl_tree_t spa_metaslabs_by_flushed;
	spa_unflushed_stats_t spa_unflushed_stats;
	list_t spa_log_summary;
	uint64_t spa_log_flushall_txg;
	zthr_t *spa_livelist_delete_zthr;
	zthr_t *spa_livelist_condense_zthr;
	uint64_t spa_livelists_to_delete;
	livelist_condense_entry_t spa_to_condense;
	char *spa_root;
	uint64_t spa_ena;
	int spa_last_open_failed;
	uint64_t spa_last_ubsync_txg;
	uint64_t spa_last_ubsync_txg_ts;
	uint64_t spa_load_txg;
	uint64_t spa_load_txg_ts;
	uint64_t spa_load_meta_errors;
	uint64_t spa_load_data_errors;
	uint64_t spa_verify_min_txg;
	kmutex_t spa_errlog_lock;
	uint64_t spa_errlog_last;
	uint64_t spa_errlog_scrub;
	kmutex_t spa_errlist_lock;
	avl_tree_t spa_errlist_last;
	avl_tree_t spa_errlist_scrub;
	uint64_t spa_deflate;
	uint64_t spa_history;
	kmutex_t spa_history_lock;
	vdev_t *spa_pending_vdev;
	kmutex_t spa_props_lock;
	uint64_t spa_pool_props_object;
	uint64_t spa_bootfs;
	uint64_t spa_failmode;
	uint64_t spa_deadman_failmode;
	uint64_t spa_delegation;
	list_t spa_config_list;
	zio_t **spa_async_zio_root;
	zio_t *spa_suspend_zio_root;
	zio_t *spa_txg_zio[4];
	kmutex_t spa_suspend_lock;
	kcondvar_t spa_suspend_cv;
	zio_suspend_reason_t spa_suspended;
	uint8_t spa_claiming;
	boolean_t spa_is_root;
	int spa_minref;
	spa_mode_t spa_mode;
	spa_log_state_t spa_log_state;
	uint64_t spa_autoexpand;
	ddt_t *spa_ddt[14];
	uint64_t spa_ddt_stat_object;
	uint64_t spa_dedup_dspace;
	uint64_t spa_dedup_checksum;
	uint64_t spa_dspace;
	kmutex_t spa_vdev_top_lock;
	kmutex_t spa_proc_lock;
	kcondvar_t spa_proc_cv;
	spa_proc_state_t spa_proc_state;
	proc_t *spa_proc;
	uint64_t spa_did;
	boolean_t spa_autoreplace;
	int spa_vdev_locks;
	uint64_t spa_creation_version;
	uint64_t spa_prev_software_version;
	uint64_t spa_feat_for_write_obj;
	uint64_t spa_feat_for_read_obj;
	uint64_t spa_feat_desc_obj;
	uint64_t spa_feat_enabled_txg_obj;
	kmutex_t spa_feat_stats_lock;
	nvlist_t *spa_feat_stats;
	uint64_t spa_feat_refcount_cache[31];
	taskqid_t spa_deadman_tqid;
	uint64_t spa_deadman_calls;
	hrtime_t spa_sync_starttime;
	uint64_t spa_deadman_synctime;
	uint64_t spa_deadman_ziotime;
	uint64_t spa_all_vdev_zaps;
	spa_avz_action_t spa_avz_action;
	uint64_t spa_autotrim;
	uint64_t spa_errata;
	spa_stats_t spa_stats;
	spa_keystore_t spa_keystore;
	uint64_t spa_lowmem_page_load;
	uint64_t spa_lowmem_last_txg;
	hrtime_t spa_ccw_fail_time;
	taskq_t *spa_zvol_taskq;
	taskq_t *spa_prefetch_taskq;
	uint64_t spa_multihost;
	mmp_thread_t spa_mmp;
	list_t spa_leaf_list;
	uint64_t spa_leaf_list_gen;
	uint32_t spa_hostid;
	kmutex_t spa_activities_lock;
	kcondvar_t spa_activities_cv;
	kcondvar_t spa_waiters_cv;
	int spa_waiters;
	boolean_t spa_waiters_cancel;
	spa_config_lock_t spa_config_lock[7];
	zfs_refcount_t spa_refcount;
	taskq_t *spa_upgrade_taskq;
}
@#$ EXIT CODE $#@
0
